package parser.prestige.technologia.xml;

import parser.prestige.AbstractNode;
import parser.prestige.IXmlElement;

import javax.xml.stream.XMLEventFactory;
import javax.xml.stream.XMLEventWriter;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.events.XMLEvent;

/**
 * Created with IntelliJ IDEA.
 * User: msi
 * Date: 10.12.13
 * Time: 21:56
 * To change this template use File | Settings | File Templates.
 */
public class ProduktTech extends AbstractNode implements IXmlElement {
    private String indeks;
    private String nazwa;
    private String kodMagazyn;
    private String ilosc;
    private String narzut;
    private String rezerwuj;
    private String rodzajProd;
    private String przelacznik1;

    public ProduktTech(String indeks, String nazwa, String kodMagazyn, String ilosc, String narzut, String rezerwuj, String rodzajProd, String przelacznik1) {
        this.indeks = indeks;
        this.nazwa = nazwa;
        this.kodMagazyn = kodMagazyn;
        this.ilosc = ilosc;
        this.narzut = narzut;
        this.rezerwuj = rezerwuj;
        this.rodzajProd = rodzajProd;
        this.przelacznik1 = przelacznik1;
    }

    public ProduktTech() {
        this.indeks = "";
        this.nazwa = "";
        this.kodMagazyn = "";
        this.ilosc = "";
        this.narzut = "";
        this.rezerwuj = "";
        this.rodzajProd = "";
        this.przelacznik1 = "";
    }

    @Override
    public void createAsNode(XMLEventWriter eventWriter, int tabValue) throws XMLStreamException {
        XMLEventFactory eventFactory = XMLEventFactory.newInstance();
        XMLEvent endLineEvent = eventFactory.createDTD("\n");
        XMLEvent tabulatorEvent = eventFactory.createDTD("\t");

        //TAG: <ProduktTech>
        addTabs(eventWriter, tabValue);
        eventWriter.add(eventFactory.createStartElement("","","ProduktTech"));
        eventWriter.add(endLineEvent);

        //skladowe ProduktTech
        addNode(eventWriter, "Indeks", indeks, tabValue + 1);
        addNode(eventWriter, "Nazwa", nazwa, tabValue + 1);
        addNode(eventWriter, "KodMagazyn", kodMagazyn, tabValue + 1);
        addNode(eventWriter, "Ilosc", ilosc, tabValue + 1);
        addNode(eventWriter, "Narzut", narzut, tabValue + 1);
        addNode(eventWriter, "Rezerwuj", rezerwuj, tabValue + 1);
        addNode(eventWriter, "RodzajProd", rodzajProd, tabValue + 1);
        addNode(eventWriter, "Przelacznik1", przelacznik1, tabValue + 1);
        //koniec skladowych ProduktTech

        //TAG: </ProduktTech>
        addTabs(eventWriter, tabValue);
        eventWriter.add(eventFactory.createEndElement("","","ProduktTech"));
        eventWriter.add(endLineEvent);
    }

    public String getIndeks() {
        return indeks;
    }

    public void setIndeks(String indeks) {
        this.indeks = indeks;
    }

    public String getNazwa() {
        return nazwa;
    }

    public void setNazwa(String nazwa) {
        this.nazwa = nazwa;
    }

    public String getKodMagazyn() {
        return kodMagazyn;
    }

    public void setKodMagazyn(String kodMagazyn) {
        this.kodMagazyn = kodMagazyn;
    }

    public String getIlosc() {
        return ilosc;
    }

    public void setIlosc(String ilosc) {
        this.ilosc = ilosc;
    }

    public String getNarzut() {
        return narzut;
    }

    public void setNarzut(String narzut) {
        this.narzut = narzut;
    }

    public String getRezerwuj() {
        return rezerwuj;
    }

    public void setRezerwuj(String rezerwuj) {
        this.rezerwuj = rezerwuj;
    }

    public String getRodzajProd() {
        return rodzajProd;
    }

    public void setRodzajProd(String rodzajProd) {
        this.rodzajProd = rodzajProd;
    }

    public String getPrzelacznik1() {
        return przelacznik1;
    }

    public void setPrzelacznik1(String przelacznik1) {
        this.przelacznik1 = przelacznik1;
    }
}
